package com.cqjtu.eecs.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cqjtu.eecs.entity.Teacher;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cqjtu.eecs.entity.dto.TeacherDto;
import com.cqjtu.eecs.entity.params.teacher.TeacherAddParams;
import com.cqjtu.eecs.entity.params.teacher.TeacherUpdateParams;
import com.cqjtu.eecs.entity.vo.TeacherCodeNameVo;
import com.cqjtu.eecs.entity.vo.TeacherVo;
import com.cqjtu.eecs.utils.Result;

import java.util.List;

/**
 * <p>
 * 教师 服务类
 * </p>
 *
 * @author    
 * @since 2022-03-07
 */
public interface ITeacherService extends IService<Teacher> {

    /**
     * 导入教师excel信息
     * @param teacherDtoList
     */
    void importTeacherExcelInfo(List<TeacherDto> teacherDtoList);

    /**
     * 添加一条教师信息
     * @param teacherAddParams
     * @return
     */
    Result addATeacherInfo(TeacherAddParams teacherAddParams);

    /**
     * 分页获取全部教师信息
     * @param current 当前第几页
     * @param size 每页大小
     * @param academyName 学院名
     * @return
     */
    Page<TeacherVo> getAllTeacherInfo(Long current, Long size, String academyName);

    /**
     * 修改教师信息
     * @param teacherUpdateParams
     * @return
     */
    Result updateTeacherInfo(TeacherUpdateParams teacherUpdateParams);

    Teacher selectTeacherByTeacherCode(String teacherCode);

    /**
     * 根据专业代码查询该学院所有教师工号姓名
     * @param majorCode
     * @return
     */
    List<TeacherCodeNameVo> getTeacherCodeNameVoByMajorCode(String majorCode);
}
